﻿/*
* This file is part of - WebExtras
* Copyright (C) 2015 Mihir Mone
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WebExtras
{
  /// <summary>
  /// Utility class to provide unit test extensions for matching
  /// objects
  /// </summary>
  public static class JsonAssert
  {
    /// <summary>
    /// Test whether the given object are value equal
    /// </summary>
    /// <param name="expected">Expected object</param>
    /// <param name="actual">Actual object</param>
    public static void AreEqual(object expected, object actual)
    {
      string strExpected = JsonConvert.SerializeObject(expected);
      string strActual = JsonConvert.SerializeObject(actual);

      if (strExpected != strActual)
        throw new Exception("Objects not equal");
    }
  }
}
